package com.xuzimian.globaldemo.designpatterns.singleton;

/**
 * 贪婪模式：
 * 该单例的实现非常简单，而且十分可靠。它唯一不足仅是无法对instance实例做延迟加载。
 * 假如单例的创建过程比较慢，而有图instance成员变量是static定义的，因此在JVM加载单例
 * 类时，单例对象就会被建立，如果此时这个单例在系统中还扮演其他角色，那么在任何使用这
 * 个单例地方都会初始化这个单例变量，而不管是否会被用到。比如调用该单例的creatString
 * 方法。
 */
public class Singleton {
	private Singleton() {
		//创建单例的过程可能会比较慢
		System.out.println("Singleton is create");
	}

	private static Singleton instance = new Singleton();
	public static Singleton getInstance() {
		return instance;
	}

	public static void createString(){
		System.out.println("createString in Singleton");
	}
}
